Ein Polygonnetz-Objekt, oder formal ein Mesh::MeshObject
, ist eine Klasse, die eine Polygonnetz-Datenstruktur in der Software definiert. Dies ist ähnlich wie Part TopoForm, aber für Polygonnetze.
Polygonnetze werden normalerweise mit dem Arbeitsbereich Mesh erzeugt, oder aus STL-, OBJ- und ähnlichen Netz-Dateiformaten importiert.
Bitte beachte, dass der Arbeitsbereich FEM ebenso Netze benutzt, aber in diesem Fall eine andere Datenstruktur, FEM Polygonnetz (
Fem::FemMesh
class) benutzt wird. Diese Informationen gelten nicht für FEM-Netze.
Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten im Programm. Die Mesh::MeshObject
-Klasse ist eingebettet in das Mesh::Feature
-Objekt und von dort aus wird es an alle Objekte weitergegeben, die davon abgeleitet sind.
Das Mesh PolygonnetzObjekt ist ein Objekt, das einigen Anwendung DokumentObjekten zugeordnet ist.
Insbesondere ist das grundlegende Objekt, das diese Arten von Attributen verarbeitet, das Mesh Formelement (Mesh::Feature
class). Alle von dieser Klasse abgeleiteten Objekte haben Zugriff auf ein Mesh-PolygonnetzObjekt.
Die wichtigsten Objekte, die ein Mesh PolygonnetzObjekt haben werden, sind die folgenden:
Siehe auch: FreeCAD Grundlagen Skripten und Skriptgenerierte Objekte. Eine vollständige Liste der Attribute und Methoden finde sich unter Quellendokumentation, und das Std PythonHilfe-Werkzeug.
Alle von Mesh::Feature
abgeleiteten Objekte verfügen über ein Mesh PolygonnetzObjekt, auf das normalerweise über das Attribut Mesh
zugegriffen werden kann.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("Mesh::Cube", "Cube")
App.ActiveDocument.recompute()
print(obj.Mesh)
Ein Polygonnetz hat viele Attribute (Variablen) und Methoden, die Informationen über sie enthalten, und die es erlauben, Operationen mit ihr durchzuführen. Diese Variablen und Methoden können in der Python Konsole getestet werden.
print(obj.Mesh.Area)
print(obj.Mesh.BoundBox)
print(obj.Mesh.CountPoints)
print(obj.Mesh.Volume)
obj.Mesh.copy()
obj.Mesh.countComponents()
obj.Mesh.getEigenSystem()
obj.Mesh.write("my_file.stl")